package com.eshop.modules.activity.domain;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import com.eshop.domain.BaseDomain;

@ApiModel(value = "YxStoreBargainUserHelp对象", description = "砍价用户帮助表")
public class StoreBargainUserHelp extends BaseDomain
{
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("砍价用户帮助表ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty("帮助的用户id")
    private Long uid;
    @ApiModelProperty("砍价产品ID")
    private Long bargainId;
    @ApiModelProperty("用户参与砍价表id")
    private Long bargainUserId;
    @ApiModelProperty("帮助砍价多少金额")
    private BigDecimal price;
    
    public static StoreBargainUserHelpBuilder builder() {
        return new StoreBargainUserHelpBuilder();
    }
    
    public Long getId() {
        return this.id;
    }
    
    public Long getUid() {
        return this.uid;
    }
    
    public Long getBargainId() {
        return this.bargainId;
    }
    
    public Long getBargainUserId() {
        return this.bargainUserId;
    }
    
    public BigDecimal getPrice() {
        return this.price;
    }
    
    public void setId(final Long id) {
        this.id = id;
    }
    
    public void setUid(final Long uid) {
        this.uid = uid;
    }
    
    public void setBargainId(final Long bargainId) {
        this.bargainId = bargainId;
    }
    
    public void setBargainUserId(final Long bargainUserId) {
        this.bargainUserId = bargainUserId;
    }
    
    public void setPrice(final BigDecimal price) {
        this.price = price;
    }
    
    public String toString() {
        return "StoreBargainUserHelp(id=" + this.getId() + ", uid=" + this.getUid() + ", bargainId=" + this.getBargainId() + ", bargainUserId=" + this.getBargainUserId() + ", price=" + this.getPrice() + ")";
    }
    
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof StoreBargainUserHelp)) {
            return false;
        }
        final StoreBargainUserHelp other = (StoreBargainUserHelp)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (!super.equals(o)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0075: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0075;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0075;
            }
            return false;
        }
        final Object this$uid = this.getUid();
        final Object other$uid = other.getUid();
        Label_0112: {
            if (this$uid == null) {
                if (other$uid == null) {
                    break Label_0112;
                }
            }
            else if (this$uid.equals(other$uid)) {
                break Label_0112;
            }
            return false;
        }
        final Object this$bargainId = this.getBargainId();
        final Object other$bargainId = other.getBargainId();
        Label_0149: {
            if (this$bargainId == null) {
                if (other$bargainId == null) {
                    break Label_0149;
                }
            }
            else if (this$bargainId.equals(other$bargainId)) {
                break Label_0149;
            }
            return false;
        }
        final Object this$bargainUserId = this.getBargainUserId();
        final Object other$bargainUserId = other.getBargainUserId();
        Label_0186: {
            if (this$bargainUserId == null) {
                if (other$bargainUserId == null) {
                    break Label_0186;
                }
            }
            else if (this$bargainUserId.equals(other$bargainUserId)) {
                break Label_0186;
            }
            return false;
        }
        final Object this$price = this.getPrice();
        final Object other$price = other.getPrice();
        if (this$price == null) {
            if (other$price == null) {
                return true;
            }
        }
        else if (this$price.equals(other$price)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof StoreBargainUserHelp;
    }
    
    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $uid = this.getUid();
        result = result * 59 + (($uid == null) ? 43 : $uid.hashCode());
        final Object $bargainId = this.getBargainId();
        result = result * 59 + (($bargainId == null) ? 43 : $bargainId.hashCode());
        final Object $bargainUserId = this.getBargainUserId();
        result = result * 59 + (($bargainUserId == null) ? 43 : $bargainUserId.hashCode());
        final Object $price = this.getPrice();
        result = result * 59 + (($price == null) ? 43 : $price.hashCode());
        return result;
    }
    
    public StoreBargainUserHelp() {
    }
    
    public StoreBargainUserHelp(final Long id, final Long uid, final Long bargainId, final Long bargainUserId, final BigDecimal price) {
        this.id = id;
        this.uid = uid;
        this.bargainId = bargainId;
        this.bargainUserId = bargainUserId;
        this.price = price;
    }
    
    public static class StoreBargainUserHelpBuilder
    {
        private Long id;
        private Long uid;
        private Long bargainId;
        private Long bargainUserId;
        private BigDecimal price;
        
        StoreBargainUserHelpBuilder() {
        }
        
        public StoreBargainUserHelpBuilder id(final Long id) {
            this.id = id;
            return this;
        }
        
        public StoreBargainUserHelpBuilder uid(final Long uid) {
            this.uid = uid;
            return this;
        }
        
        public StoreBargainUserHelpBuilder bargainId(final Long bargainId) {
            this.bargainId = bargainId;
            return this;
        }
        
        public StoreBargainUserHelpBuilder bargainUserId(final Long bargainUserId) {
            this.bargainUserId = bargainUserId;
            return this;
        }
        
        public StoreBargainUserHelpBuilder price(final BigDecimal price) {
            this.price = price;
            return this;
        }
        
        public StoreBargainUserHelp build() {
            return new StoreBargainUserHelp(this.id, this.uid, this.bargainId, this.bargainUserId, this.price);
        }
        
        @Override
        public String toString() {
            return "StoreBargainUserHelp.StoreBargainUserHelpBuilder(id=" + this.id + ", uid=" + this.uid + ", bargainId=" + this.bargainId + ", bargainUserId=" + this.bargainUserId + ", price=" + this.price + ")";
        }
    }
}
